//package com.fecean.aabbc.netty.server.prod4;
//
//import com.fecean.aabbc.netty.handler4.NettyNoticeChannelHandler;
//import com.fecean.aabbc.netty.handler4.NettyRequestChannelHandler;
//import com.fecean.aabbc.netty.handler4.NettyResponseChannelHandler;
//import io.netty.channel.ChannelHandler;
//import io.netty.channel.ChannelInitializer;
//import io.netty.channel.socket.SocketChannel;
//import io.netty.handler.codec.serialization.ClassResolvers;
//import io.netty.handler.codec.serialization.ObjectDecoder;
//import io.netty.handler.codec.serialization.ObjectEncoder;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//
///**
// ** 通道初始化
// *
// * @author: chenfenghai
// * @version: 1.0
// * @date: 2020-03-10 10:53
// * @blame Team
// */
//@Component
//@ChannelHandler.Sharable
//public class NettyServerChannelInitializer extends ChannelInitializer<SocketChannel> {
//
//    /**
//     ** 注册通道处理
//     */
//    @Resource
//    NettyServerRegisterHandler nettyServerRegisterHandler;
//
//    /**
//     ** 心跳通道处理
//     */
//    @Resource
//    NettyServerHeartbeatHandler nettyServerHeartbeatHandler;
//
//    /**
//     ** 通知通道处理
//     */
//    @Resource
//    NettyNoticeChannelHandler nettyNoticeChannelHandler;
//
//    /**
//     ** 请求通道处理
//     */
//    @Resource
//    NettyRequestChannelHandler nettyRequestChannelHandler;
//
//    /**
//     ** 响应通道处理
//     */
//    @Resource
//    NettyResponseChannelHandler nettyResponseChannelHandler;
//
//    /**
//     ** 初始化通道处理器
//     * @param ch SocketChannel
//     */
//    @Override
//    protected void initChannel(SocketChannel ch) {
//        // 添加编码处理
//        ch.pipeline().addLast("decoder", new ObjectDecoder(1024*1024, ClassResolvers.weakCachingConcurrentResolver(this.getClass().getClassLoader())));
//        ch.pipeline().addLast("encoder", new ObjectEncoder());
//        // 添加注册通道处理
//        ch.pipeline().addLast(nettyServerRegisterHandler);
//        // 添加心跳通道处理
//        ch.pipeline().addLast(nettyServerHeartbeatHandler);
//        // 添加通知通道处理
//        ch.pipeline().addLast(nettyNoticeChannelHandler);
//        // 添加请求通道处理
//        ch.pipeline().addLast(nettyRequestChannelHandler);
//        // 添加响应通道处理
//        ch.pipeline().addLast(nettyResponseChannelHandler);
//    }
//}
